package testerror

import (
	"errors"
	"fmt"
	"math"
)

// Sqrt 计算平方根
func Sqrt(f float64) (float64, error) {
	if f < 0 {
		return 0, errors.New("math: square root of negative number")
	}
	return math.Sqrt(f), nil
}

func Test() {
	result, err := Sqrt(-1)
	if err != nil {
		fmt.Println("出错啦：", err)
	} else {
		fmt.Println("结果是：", result)
	}
}

func Error2() {
	defer func() { //固定这么写
		if err := recover(); err != nil {
			//println(err.(string)) // 将 interface{} 转型为具体类型。
			fmt.Println("捕获 panic：", err)
			//debug.PrintStack() // 打印调用栈
		}
	}()

	panic("panic抛出异常")
}
